﻿
/**
Array.prototype.indexOf=function(obj){
	for(var i=0;i<this.length;i++)
		if(this[i]==obj)return i;
	return -1;
}
Array.prototype.removeAt=function(i){
	return this.slice(0,i).concat(this.slice(i+1))
}
Array.prototype._remove=function(obj){
	var i=this.indexOf(obj);
	if(i!= -1) return this.removeAt(i)
	return this
}
**/

function arrayIndexOf(srcArray,obj){
	var idx = -1;
	for(var i=0;i<srcArray.length;i++){
		if(srcArray[i]==obj){
			idx=i; break;
		}
	}
	return idx;
}

function arrayRemoveAt(srcArray,idx){
	srcArray.splice(idx,1);
	// next will return a new array
	// return srcArray.slice(0,idx).concat(srcArray.slice(idx+1));
}

function arrayInsertAt(srcArray,idx,obj){
	//srcArray.slice(0,idx).concat(obj).concat(srcArray.slice(idx));
	var tmpArr = srcArray.slice(idx);//include idx;,slice return new array;
		srcArray[idx] =	obj;
	for(var i=0;i<tmpArr.length;i++){
		srcArray[i+idx+1]=tmpArr[i];
	}
}

function arrayRemoveObj(srcArray,obj){
	var idx = arrayIndexOf(srcArray,obj);
	if( idx>-1 ) srcArray.splice(idx,1);
	/*
	if(idx!= -1) newArray = arrayRemoveAt(srcArray,idx);
	return newArray;
	*/
}
